package app.framework.constant;

/**
 * <p>
 * 认证授权常量。
 * </p>
 *
 * @author mh.z
 */
public interface AuthConstants {

    /** 数据名称-用户类型 */
    String SUBJECT_DATA_USER_TYPE = "userType";
    /** 用户类型-超级管理员 */
    String USER_TYPE_SUPER_ADMIN = "SUPER_ADMIN";
    /** 用户类型-租户管理员 */
    String USER_TYPE_TENANT_ADMIN = "TENANT_ADMIN";

    /** "记住我"功能的请求参数名 */
    String REMEMBER_ME_REQUEST_PARAM_NAME = "remember-me";
    /** "记住我"功能的 cookie 参数名 */
    String REMEMBER_ME_COOKIE_NAME = "remember-me";
    /** "记住我"功能的会话属性名 */
    String REMEMBER_ME_SESSION_ATTR_NAME = AuthConstants.class.getName() + ".REMEMBER_ME";

    /** 会话属性 CSRF 令牌 */
    String CSRF_TOKEN_SESSION_ATTR_NAME = AuthConstants.class.getName() + ".CSRF_TOKEN";
    /** 请求头参数 CSRF 令牌 */
    String CSRF_TOKEN_REQUEST_HEAD_NAME = "x-csrf-token";
    /** CSRF 令牌的 cookie 名称 */
    String CSRF_TOKEN_COOKIE_NAME = "csrf-token";

}
